草庐IT

Javascript toFixed 不舍入

全部标签

php - 浮点舍入错误 php ...我怎样才能确保它正常工作?

我有以下功能来确定我的销售是否已全额付款。我不记得我为什么要这样做,但到目前为止它一直有效,我不记得为什么我必须这样做。function_payments_cover_total(){//get_paymentsisalistofpaymentamountssuchas://10.20,10.21,oreven10.1010101101(10decimalsmax)$total_payments=0;foreach($this->sale_lib->get_payments()as$payment){$total_payments+=$payment['payment_amount']

php - Javascript VS PHP 舍入

我在PHP和javascript舍入数字的方式上遇到了一些问题。我正在使用PHP的round函数和这个javascript函数:functionroundNumber(number,decimals){varnewnumber=newNumber(number+'').toFixed(parseInt(decimals));varvalue=parseFloat(newnumber);returnvalue;}我要四舍五入的数字是43.65*2.5+40%,使用计算器计算时=152.775或者在PHP中四舍五入时=152.78。在javascript中,当我执行console.log时

php - 愚蠢,无法弄清楚 php 向下舍入 :(

我有一个小问题,它可能在某个地方很愚蠢,但我仍然有它:)所以问题是:通过这样做round(615.36*0.10,2,PHP_ROUND_HALF_DOWN);我希望结果是61.53,但它是61.54。phpVersion=5.3.2谁能帮我解决这个问题?谢谢。 最佳答案 PHP_ROUND_HALF_DOWN将舍入half--即0.005部分。如果你有61.535,使用PHP_ROUND_HALF_DOWN将得到61.53--而不是61.54你应该得到了通常的舍入。基本,.005half已向下舍入。但是61.536不是一半:.00

php - 在 PHP 中将整数舍入到最接近的 5 的倍数

搜索函数roroundnumberstothenearestmultipleof522->2023->2540->4046->4548->50等等。试过这个总是返回更高的值:5*ceil($n/5); 最佳答案 使用round()而不是ceil()。5*round($n/5);ceil()按顺序将float向上舍入为下一个整数。round()将使用标准舍入规则舍入到最接近的整数。 关于php-在PHP中将整数舍入到最接近的5的倍数,我们在StackOverflow上找到一个类似的问题:

php - 使用 PHP 将数字舍入到最接近的 0.2

我正在使用5边星创建此评级系统。我希望标题包含平均评分。所以我创造了显示1/5的星星。使用“1.2”,我将获得一颗满星,并在下一颗星上获得一分,依此类推...但我还没有找到一个很好的方法来四舍五入到最接近的.2...我想我可以乘以10,然后四舍五入,然后运行一个开关以将1向上舍入到2、3到4等等。但这似乎很乏味且没有必要...... 最佳答案 round(3.78*5)/5=3.8 关于php-使用PHP将数字舍入到最接近的0.2,我们在StackOverflow上找到一个类似的问题:

PHP 舍入问题(5.2.3)?

我想知道我是否发现PHP中的舍入问题,特别是5.2.3(目前我不确定其他版本):$t=0;$taxAmount=(5.000/100)*0.7;$t+=$taxAmount;var_dump($t);//float(0.035)var_dump(round($t,2));//float(0.03)var_dump(number_format($t,2));//string(4)"0.03"对我来说0.035应该四舍五入到0.04还是我疯了?编辑感谢NebyGemini'sanswer,我想我会这样做:$t=0;$taxAmount=bcmul(bcdiv(5.000,100,3),0.

php - 用除法修正和,抵消舍入误差

使用MySQL数据库用PHP编码的Web应用。我有一个系统,可以在分摊成本时为许多人计算不同的成本。例如,A人购买10件东西,B、C和D应该分摊费用。因此,系统应该为人A登记10的正面记录,为B、C和D登记10/3的负面记录。然而,当这完成时;B、C、D四舍五入后均为-3.33。当然,哪一个加起来是10的总数。解决这个问题的最佳方法是什么?一个最佳解决方案是随机分配哪些人得到的成本稍高。一个可能的解决方案是如果我只让最后一个人的债务为10-(A+B),但是如果四个人分摊费用例如13.34。不同的部分将是3.34、3.34、3.34和3.32,而最佳拆分将是3.34、3.34、3.33、

php - Twig 中的舍入数字

有人知道如何将Twig中的数字舍入到最接近的整数吗?例如:2.6=>2我尝试使用|number_format但它没有将它们四舍五入。 最佳答案 @olivierw的回答是正确的,但您还可以使用另一个技巧。Twig确实有//除法结果的楼层下降运算符。您可以将它用作{{variable//1}},它等于intval(floor(variable))。 关于php-Twig中的舍入数字,我们在StackOverflow上找到一个类似的问题: https://stac

android - 我如何将 12.443 舍入到 12.40

我正在计算,结果是12,443。我想把它四舍五入到12,40。这是我尝试这样做的方式,但我得到的是12而不是12,40floatresult=Math.round((newFloat(result1)*0.3)+(newFloat(result2)*0.7));vprosvasis.setText(Float.toString(result));例子:如果我得到12,70001我想四舍五入到12,7如果我得到13,4402将其四舍五入为13,411,19到11,2因此,最终数字将始终采用##.@格式 最佳答案 (float)Math

java - 如何在 Android 中舍入 float

我被困在下面的场景中:如果x为1.5或更低,则最终结果将为x=1。如果x大于1.5,则x=2。输入的数字将为x/100。例如:输入=0.015=>x=1.5=>显示x=1。我遇到的问题是float不准确。例如:输入=0.015但实际上它类似于0.01500000000000002。在这种情况下,x将是1.500000000000002,大于1.5=>显示输出为x=2。它随机发生,我不知道如何解决它。和0.5一样,1.5会给我正确的结果。但是2.5、3.5、4.5、5.5会给我错误的结果。然后6.5会再次给我正确的结果。我实现的代码如下:floatx=0.015;NumberFormat